package com.zbcbms.service;

import com.zbcbms.entity.Book;
import com.zbcbms.entity.tableData.BookTableData;
import com.zbcbms.entity.chart.BookTypeChart;
import javafx.collections.ObservableList;

import java.util.List;

/**
 * @author fengq
 */
public interface BookService extends IService<Book> {

    /**
     * 查询数据并转化位对应的表格字符
     * @return
     */
    ObservableList<BookTableData> getBookTableViewData();

    /**
     * getAllBookNumber 获取所有书本的编号
     * @return
     */
    ObservableList<String> getAllBookNumberWithStatus();

    /**
     * getBookNumberByKeyword 根据关键词获取书本编号
     * @param keyWord
     * @return
     */
    ObservableList<String> getBookNumberByKeywordWithStatus(String keyWord);

    /**
     * getBookNameByNumber 根据编查询书名
     * @param number
     * @return
     */
    String getBookNameByNumber(String number);

    /**
     * getCount
     * @param status
     * @return
     */
    long getCount(String status);

    /**
     * selectCountByType
     * @return
     */
    List<BookTypeChart> getCountByType();

    /**
     * getAllDeletedUser
     * @return
     */
    ObservableList<BookTableData> getAllDeletedUser();

    /**
     * getUserVoByKeyWord
     * @param keyword
     * @return
     */
    ObservableList<BookTableData> getBookVoByKeyWord(String keyword);
}
